This invention relates to an image generating apparatus and an image generation method, and more particularly to an image generating apparatus and image generation method, suitable for game apparatuses, for generating images wherewith characters (objects) moving within virtual three-dimensional space are easy to see on the screen and can express real motion.
With the developments in computer graphics technology in recent years, simulation apparatuses and game apparatuses have come to be widely and extensively used, both commercially and in the home. There are various categories of game apparatus. One among these is the battle game apparatus wherewith characters act out battles in virtual game space (virtual three-dimensional space) in response to control information from players. The popularity of these battle game apparatuses continues to be very strong.
These game apparatuses usually comprise a main console that accommodates a computer unit for executing a game program, a control unit for sending control signals to the main console which directs characters (objects) represented in the game to move, a monitor for displaying images associated with the development of the game resulting from the execution of the game program in the main console, and an audio unit for generating sounds associated with that game development.
In such battle games, virtual camera positions are variously changed from scene to scene and game data are generated so that the battle scenes viewed by the players are made more dramatic and so that the sense of participation in the game is enhanced. By the same token, light sources from lighting or the sun are set at prescribed positions in the virtual three-dimensional space in order to impart a three-dimensional feeling and sense of realism to the characters playing out the battle. In many applications, it is assumed that light shining from those light source positions strikes the characters, and shadow processing is effected according to the angles of those light sources.
In previous battle games, programs are fashioned so that characters act out battles using their own arms and legs. More recently, however, games are being provided which portray characters that use swords or other weapons.
There are also games in which, in the game apparatus, characters race on skateboards, bicycles, or motorcycles. These games differ from games like automobile race games which simulate the movements of individual single objects (automobiles) in that an object that appears as one is made up of a plurality of subordinate objects, whereupon that plurality of subordinate objects must be simulated simultaneously. In the case of a character riding a bicycle, for example, the object is made up of a bicycle traveling over a road and a character that is pedaling while riding that bicycle. In terms of the image data for such characters riding bicycles, the position of the buttocks of the character is taken as the reference position, for example, image data (polygon data) for each part of the character are computed from that reference position, image data (polygon data) for each part of the bicycle are computed from that buttocks reference position, and simulation is performed which treats both sets of data as combined image data. The reference position may be set at some part of the bicycle, for example, and not just in the character.
Nevertheless, in conventional game apparatuses, problems pointing up needed improvements have been pointed out, as described below, respecting the ease of viewing the images displayed in the battle game as a game, and the sense of realism in games such as bicycle races wherein the objects are comprised of a plurality of subordinate objects.
The first problem relates to a conventional battle game. This problem involves the relationship between the positions of the light sources and the positional control of the virtual camera (point of view) effected in order to allow a player to view the battle scenes from a variety of viewpoints. In the conventional case, the light sources are fixed in the virtual three-dimensional space, wherefore light strikes all of the objects from the same direction. Thus it is possible to effect real shadow processing that results in a sense of uniformity.
It sometimes happens, however, that changing the position of the virtual camera results in a back-lighted relationship between the light source and the camera positions. The sense of three-dimensionalism is better elicited by adding shadows to some extent, whereupon, when processing is done to effect such shadows, if back-lighting occurs, the shadow will be imparted to the entire character, and the character as displayed on the screen will be displayed so that it looks very dark in its entirety. This results in a screen that is very difficult for a player to view.
In battle games, in particular, where players need to clearly apprehend their own and their opponents"" characters, the dark display of characters actually becomes a negative factor in terms of enhancing the operability of and interest in the game. This negative factor is a serious problem in battle games where the emphasis is more on battle content than on the atmosphere produced by the entire screen.
Game apparatuses have also been provided in the past which do not employ the technique of processing shadows using established light sources, but the characters expressed in such games lack a sense of three-dimensionalism, and the display screens produce little impact.
The second problem relates to game apparatuses in cases such as the bicycle race described earlier wherein there are multiple subordinate objects simulated in the same object. In the case of a bicycle race, for example, the image data (polygon data) for the positions of the objects (positions of characters and positions of bicycles) are computed from reference positions established at the positions of the buttocks of the characters, for example. Hence there is no particular problem if the two objects (character and bicycle) are moving in the same way, but when they each move differently, the following difficulties are encountered.
The behavior of the character itself on the bicycle is usually unrelated to the road condition. To make the bicycle go faster, for example, the character pedals while standing up and moving his weight forward, and when climbing a hill will pedal the bicycle while moving his body back and forth from side to side. Thus, when computing image data for each part of the bicycle according to the reference position of the character, for example, because the reference position for computing image data for the parts of the bicycle is in the character, the movement of the character body will not always be in mutual synchronization with the road condition. When the road surface is uneven, for example, the points where the wheels strike the ground are forcibly set above the road surface by contact judgments, and the character data are controlled separately by control information, etc., without the influence of the road surface irregularity being reflected in the character data. As a consequence, the movements of the two entities will be off, with the character pumping the bicycle while elevated above the bicycle, for example, or, conversely, with the body of the character appearing below the saddle, resulting in an unnatural image that lacks realism.
The cause of this is that there are two or more independently moving subordinate objects in the one object, and the same problem arises when the reference position is placed in the bicycle.
With respect to this problem, it might be possible to conceive of a technique whereby the reference position is determined outside the object, and image data for the positions of the parts of the object computed from that reference position. That technique, however, would require such an enormous volume of computations as to make it altogether impracticable as things now stand, and hence can hardly be adopted in a game apparatus.
A first object of the present invention, which was devised for the purpose of overcoming the unresolved problems in the game apparatuses described in the foregoing, is to provide screens of character images subjected to shadow processing to provide a sense of three-dimensionalism suitable to games, wherewith the brightness of the characters displayed on the screen is always maintained optimally, even when the camera viewpoint is changed.
A second object of the present invention is to provide a technique for producing and displaying image data that correctly and realistically displays the way multiple subordinate objects move in relationship to one another, even when there are two or more subordinate objects moving independently inside one object, by comparatively simple image generation processing.
A third object of the present invention is to realize the first and second objects noted above in a battle game that handles data when there are two or more subordinate objects moving independently inside one object.
A first invention for realizing the objects stated above is an image generating apparatus for generating image data for objects while altering the line of vision from the camera viewpoint for objects moving in virtual three-dimensional space, characterized in that the position of a virtual light source is altered in response to alterations in the position of the camera viewpoint.
Preferably, means for altering the position of the camera viewpoint, means for altering the position of the virtual light source in response to alterations in the position of the camera viewpoint, and means for imparting shadow processing to image data when the object is viewed, when a virtual light beam from the light source is directed onto the object, are comprised.
Even more preferably, the means for altering the light source position are means for imparting a certain three-dimensional distance differential between the positions of the camera viewpoint and of the virtual light source. Also, the means for altering the light source position may, for example, be means for determining the three-dimensional distance differential in dependence on one formula. Furthermore, the means for imparting shadow processing may, for example, be means for subjecting only the object to the shadow processing.
A second invention is an apparatus for generating image data for objects that move in virtual three-dimensional space, wherein the objects are made up of multiple subordinate object bodies that manifest mutually independent movements, comprising means for producing and separately storing image data for the multiple subordinate object bodies beforehand, and means for separately reading out, positioning, and displaying the image data for the multiple subordinate object bodies according to the situation.
Preferably, the means for producing and storing the image data are means for producing the image data for the multiple subordinate object bodies on the basis of a common reference position, and separately storing the same. Preferably, moreover, the image display means are means for positioning the multiple image data using the reference position.
As a preferred mode, furthermore, the multiple subordinate object bodies are one character that functions as a subordinate object body, and an ancillary body that functions as another subordinate object body attaching to that character and used by that character. For example, the character might be a character portraying a fighter and the ancillary body a bicycle.
A third invention is an image generation method for generating image data for objects while altering the line of vision from the camera viewpoint for objects moving in virtual three-dimensional space, characterized in that the position of the camera viewpoint is altered, and the position of a virtual light source is altered in response to those alterations in the camera viewpoint.